package com.metal.gear.certification.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.metal.gear.certification.entity.po.SysRolePermission;

import java.util.List;

/**
 * <p>
 * 角色权限表 服务类
 * </p>
 *
 * @Author scott
 * @since 2018-12-21
 */
public interface ISysRolePermissionService extends IService<SysRolePermission> {

    /**
     * 通过roleId和permissionId进行删除
     *
     * @param roleId
     * @param permissionId
     */
    void deleteByRoleIdAndPermissionId(String roleId, String permissionId);


    /**
     * 保存授权/先删后增
     *
     * @param roleId
     * @param permissionIds
     */
    void saveRolePermission(String roleId, String permissionIds);

    /**
     * 保存授权 将上次的权限和这次作比较 差异处理提高效率
     *
     * @param roleId
     * @param permissionIds
     * @param lastPermissionIds
     */
    void saveRolePermission(String roleId, String permissionIds, String lastPermissionIds);


    /**
     * 保存授权 将上次的权限和这次作比较 差异处理提高效率
     *
     * @param roleId
     * @param permissionIdList
     */
    void saveRolePermission(String roleId, List<String> permissionIdList);

    /**
     * 通过roleId查询
     *
     * @param roleId
     */
    List<SysRolePermission> listByRoleId(String roleId);

}
